# Master boot record

Master boot record (opens new window),又叫做主引导扇区,是计算机开机后访问硬盘时所必须要读取的首个扇区,它在硬盘上的三维地址为(柱面,磁头,扇区)=(0,0,1)。

MBR 由三个部分组成:引导代码区硬盘分区表硬盘有效标志

# 一、引导代码区

Bootstrap code area 占 446 字节,它负责从活动分区中装载,并运行系统引导程序。

引导代码区是一小段代码,用于加载其他分区上更大的启动加载器。

如果你安装了 Windows,Windows 启动加载器的初始信息就放在这个区域里,如果 MBR 的信息被覆盖导致 Windows 不能启动,你就需要使用 Windows 的 MBR 修复功能来使其恢复正常。

如果你安装了 Linux,则位于 MBR 里的通常会是 GRUB 加载器。

# 二、分区表

Partition table (opens new window) 占 64 字节,由 4 个 Partition entry 组成,偏移 01BE01FD

Partition entry 为例:

80 20 21 00
07 F5 A9 8C
00 08 00 00
00 08 A0 00

80 是一个分区的激活标志,表示系统可引导;

20 表示分区起始磁头号,即 32;

21 000010 0001 0000 0000

  • 分区起始扇区号,占据第一个字节的 0 - 5 位,即 10 0001,即 33;
  • 分区起始磁柱号,占据第一个字节的 6 - 7 位和第二个字节的全部 8 位,即 00 0000 0000

07 表示分区的系统类型是 NTFS。

F5 表示分区结束磁头号,即 245。

A9 8C1010 1001 1000 1100

  • 分区结束扇区号,占据第一个字节的 0 - 5 位,即 10 1001,即 41。
  • 分区结束磁柱号,占据第一个字节的 6 - 7 位和第二个字节的全部 8 位,即 10 1000 1100,即 652。

00 08 00 00little-endian,表示分区起始相对扇区号,即 00 00 08 00,即 2048。

00 08 A0 00little-endian,表示分区总的扇区数,即 00 A0 08 00,即 10 487 808。

# 三、硬盘有效标志

Magic number,占 2 字节,为 55 AA,是检验主引导记录是否有效的标志。